The present application relates generally to computer systems, and more specifically, to clustering execution of tasks in a processing system in order to increase power savings potential.
In computer systems with multiple interconnected components (e.g., processors, accelerators, memory) it is often the case that some components are busy while others are idle. A standard method of reducing power usage by components during inactive intervals is to use power gating to activate sleep or power down modes. According to this method, the logic is built of low-threshold transistors, with high-threshold transistors serving as a footer or header to cut leakage during the quiescence intervals. During normal operation mode, the circuits achieve high performance, resulting from the use of low-threshold transistors. During sleep mode, high threshold footer or header transistors are used to cut off leakage paths, reducing the leakage currents by orders of magnitude.
A general drawback associated with such techniques of power savings is that periods of idleness for a given resource (e.g., a processor or an accelerator chip) are often not long enough to support the overhead associated with activating and deactivating the power savings technique, even when the fraction of idle cycles relative to the total number of execution cycles is rather large.